想要更便捷的來開啟雲端服務嗎?CloudFormation幫我們搞定!
1. CloudFormation應用價值
透過程式碼與設定檔來建置AWS雲端服務,管理上更便捷、可追蹤和重製。
2. CloudFormation的組成
- Template (範本): 建立雲端環境的設定檔。
- Stack (推疊): 泛指AWS內的各種雲端服務。
- Change Set (變更集): 用於追蹤和預覽所建置的雲端環境。
2.1 Template
- DependOn機制
CloudFormation內的Template會去宣告各個雲端啟用的前後次序。然而,雲端服務的啟用,具有前後次序依賴性的使用情境。例如,資料庫RDS建立後,我們才能使用相關的資料進行運算服務。因此,Template內有DependsOn的機制,明確的定義那些雲端資源要先完成啟用後,再去開啟下一個相依性的雲端資源。
- WaitCondition機制
除了雲端資源與服務的啟用會有所依賴性以外,雲端資源內的軟體啟用,也因為安裝會需要一些時間,而導致後續雲端資源發生建置上的相依性問題。所以,不只是雲端資源啟用就好,連雲端資源內的軟體都要安裝好,才能接著往下去啟用其他雲端資源。有鑑於此,CloudFormation的Template另外提供一套機制-WaitCondition,確保特定軟體在雲端資源內完成安裝後,才會接著去啟用其他雲端資源。
- Tempalte編寫
- Resources: AWS雲端資源,如EC2。
- Parameters: 啟用雲端資源所需的參數,如EC2的Key Pair名稱。
- Mapping: 資源的啟用會跟區域性有關,可在此標示。
- Outputs: 這邊可用於設定雲端資源建構完成後,要產生那些輸出值,以供我們檢視資源整體的運行狀態。
2.2 CloudFormation Designer工具
使用CloudFormation Designer繪製架構圖,並依此產生建立雲端環境所需的設定檔案,讓CloudFormation的編輯更加簡易。
2.3 CloudFormation收費
CloudFormation本身服務不收費,但經由CloudFormation所建立的服務或資源,則會按照各服務的費率去收費。